package com.example.featuresdk.repository

import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emptyFlow

interface IRepository<T> {

//     suspend fun getAll() : Flow<List<T>> = emptyFlow()

     suspend fun get(vararg params: Any) : Flow<List<T>> = emptyFlow()

     suspend fun getOne(vararg params: Any) : Flow<T> = emptyFlow()

     suspend fun create(item: T) { }

     suspend fun create(items: List<T>) { }

     suspend fun create(vararg items: T) { }

     suspend fun update(item: T) { }

     suspend fun update(items: List<T>) { }

     suspend fun update(vararg items: T) { }

     suspend fun delete(vararg keys: Any) { }
}